ElevenLabs speech provider

An ElevenLabs speech provider lets Live Hub use your ElevenLabs account for text-to-speech (TTS), speech-to-text (STT), or both.

Get the API key from the profile settings in ElevenLabs.

Give the key permissions for both Voices and Models. Without them, Live Hub cannot list the voices and models your account has.

ElevenLabs' advanced configuration parameters can be set at either of two levels:

If the same parameter is set at both levels, the bot connection value takes precedence.

Add an ElevenLabs speech provider

To add an ElevenLabs speech provider:

  1. In the 'Authentication key' field, enter the API key.

  2. Under Text-to-Speech (TTS):

    • Optional: In the 'TTS host' field, enter a hostname that overrides the default, api.elevenlabs.io.
    • Optional: In the 'TTS configuration' field, enter the advanced configuration parameters that apply to every bot connection using this provider. See Configure advanced parameters at the provider level.
  3. Under Speech-to-Text (STT):

    • Optional: In the 'STT host' field, enter a hostname that overrides the default, api.elevenlabs.io.
    • Optional: In the 'STT configuration' field, enter the advanced configuration parameters that apply to every bot connection using this provider. See Configure advanced parameters at the provider level.
  4. Click Create.

    The ElevenLabs speech provider fields

Only the sections for the speech types you selected appear.

Configure advanced parameters at the provider level

The JSON you enter in 'TTS configuration' and 'STT configuration' is merged into every request Live Hub sends to ElevenLabs, so it applies to every bot connection using this provider. Each field takes only its own direction's parameters.

Text-to-speech

The parameters split into two sections by how ElevenLabs takes them: whatever its documentation lists as a query parameter goes under query, and whatever it lists as a body parameter goes under body. The full set is the ElevenLabs streaming text-to-speech API.

{
    "body": {
        "voice_settings": {
            "speed": 1.2
        }
    }
}

body.model_id and query.enable_logging work here but have no effect on a bot connection.

Speech-to-text

The full set of speech-to-text parameters is the query parameters of the ElevenLabs realtime speech-to-text API.

{
    "vadThreshold": 0.35
}

Name them in camelCase, even though ElevenLabs documents them in snake_case. modelId has no effect: the model comes from the bot connection.

Configure advanced parameters at the bot connection level

You can set the same parameters on a single bot connection rather than on the provider, under ttsPassthruConfig and sttPassthruConfig in the JSON editor on the connection's Advanced tab. See Manage bot connections.

{
    "ttsPassthruConfig": {
        "body": {
            "voice_settings": {
                "speed": 1.2
            }
        }
    },
    "sttPassthruConfig": {
        "vadThreshold": 0.35
    }
}

Prompting and silence detection

Two further bot parameters affect ElevenLabs recognition, and go on the same Advanced tab:

Parameter What it does
sttInstructions Live Hub sends it to ElevenLabs as previousText with the first chunk of audio.
sttSegmentationSilenceTimeoutMs Live Hub converts it to seconds and sets ElevenLabs' vadSilenceThresholdSecs when the recognition connection opens.

Language, model, and voice

You select the language, the model, and the voice per bot connection, on its Settings tab, not on the provider. See Manage bot connections.